<?php
namespace Home\Controller;
use Think\Controller;

class Lnyc2020Controller extends Controller {
    public function index(){
        indexRvent();//测算首页执行事件
        if($_REQUEST['channel']=='vivo'){
            //header("location:https://hy.yixueqm.com/zhiming/index.php/home-lnyc2019-index?channel={$_REQUEST['channel']}");
        }
        cookie('orderidnum','Lnyc2020');

        indexRequest($_REQUEST);//测算首页接收数据处理
        $channel=cookie('channel');
        $edition=cookie('edition');//新版本

        $this->assign('channel',$channel);
        $this->assign('titleName',titleName('Lnyc2020',1));//首页名称

        $user_agent = $_SERVER['HTTP_USER_AGENT'];//用户使用的浏览器，操作系统等信息。
        if (strpos($user_agent, 'MicroMessenger') == false) {
            //非微信浏览器访问
            cookie('wxlogin',0);
        }else{
            cookie('wxlogin',1);
            getToken();getTicket();
            $noncestr=noncestr(15);
            $timestamp=time();
            $ticket= S('ticket');
            $wzurl=wxJsdkData();
            $signature=sha1("jsapi_ticket={$ticket}&noncestr={$noncestr}&timestamp={$timestamp}&url={$wzurl}");
            $this->assign('appid',cookie('APPID'));
            $this->assign('timestamp',$timestamp);
            $this->assign('noncestr',$noncestr);
            $this->assign('signature',$signature);
            if(!empty($_REQUEST['code'])){
                cookie('code',$_REQUEST['code'],7100);
            }
            getCode($wzurl);getOopenid();
            wxShareUrl('YC41','Lnyc2020');//分享地址获取
            cookie('uid',cookie('openid'));
        }

        //渠道获取统计ID   其他公共调用
        $channelID=obtain_channelID('YC41');
        $this->assign('channelID',$channelID);

        if(cookie('jploginHC'.'YC41')==''){
            cnzz_pvuv('YC41');//执行统计
            cookie('jploginHC'.'YC41',1,30);
            csRandNum('lnyc2020cs'); //随机数
        }

        if($edition==1){//新版本
            $this->display("Lnyc2020/lnyc_edition1_index");
        }else if(channelYFlnyc2020($channel)){
            $this->display("Lnyc2020/lnyc_index_YF");
        }elseif(channelVivo($channel)){
            $this->display("Lnyc2020/lnyc_index_vivo");
        }else{
            $this->display("Lnyc2020/lnyc_index");
        }
    }
    public function zhifu(){
        $this->assign('titleName',titleName('Lnyc2020',2,'YC'));//首页名称
        $strData=mb_substr(cookie('orderid'),0,2);
        if($strData=='QS')cookie('orderid',null);
        $edition=cookie('edition');//新版本

        cookie('timeStrto',time()+7200);//倒计时时间戳
        $user_agent = $_SERVER['HTTP_USER_AGENT'];//用户使用的浏览器，操作系统等信息。
        if (strpos($user_agent, 'MicroMessenger') == false) {
            //非微信浏览器访问
            cookie('wxlogin',0);$this->assign('wxlogin',0);
        }else{
            cookie('wxlogin',1);$this->assign('wxlogin',1);
            $noncestr=noncestr(15);
            $timestamp=time();
            $ticket= S('ticket');
            $wzurl=wxJsdkData();
            $signature=sha1("jsapi_ticket={$ticket}&noncestr={$noncestr}&timestamp={$timestamp}&url={$wzurl}");

            $this->assign('appid',cookie('APPID'));
            $this->assign('timestamp',$timestamp);
            $this->assign('noncestr',$noncestr);
            $this->assign('signature',$signature);
        }

        if($_REQUEST['username']){//返回操作
            cookie('znickname',I('post.username'),604800);
            cookie('zymd',mb_substr($_REQUEST['birthday'],2,10));
            cookie('zhour',mb_substr($_REQUEST['birthday'],13,2));
            cookie('zsex',$_REQUEST['gender'],604800);
            cookie('datetype',mb_substr($_REQUEST['birthday'],0,1));
        }elseif($_REQUEST['JGtype']==1){//结果页跳转下单
            $zymd=cookie('zymd');
            if(cookie('JGtypeLnyc2020'.$zymd)){
            }else{
                cookie('orderid',null);
                cookie('JGtypeLnyc2020'.$zymd,1,300);
            }
        }

        if(!empty($_REQUEST['ordernum'])){//未支付订单
            $arrdata[0]=S('sm_h5test|'.$_REQUEST['ordernum']);
            $zymd=$arrdata[0]['year'].'-'.str_pad($arrdata[0]['month'],2,"0",STR_PAD_LEFT).'-'.str_pad($arrdata[0]['day'],2,'0',STR_PAD_LEFT);
            cookie('zymd',$zymd,604800);
            cookie('zhour',$arrdata[0]['hour'],604800);
            cookie('znickname',$arrdata[0]['username'],604800);
            cookie('zsex',$arrdata[0]['sex'],604800);
            cookie('datetype',$arrdata[0]['datetype']);

            cookie('orderid',$_REQUEST['ordernum'],604800);
        }

        $y=mb_substr(cookie('zymd'),0,4);//年
        $m=mb_substr(cookie('zymd'),5,2); //月
        $d=mb_substr(cookie('zymd'),8,2);//日
        $zyinli=yinli($y,$m,$d);
        cookie('zyangli',$y.'年'.$m.'月'.$d.'日'.' '.cookie('zhour').'时',604800);//阳历
        cookie('zyinli',$zyinli[0].'年'.$zyinli[1].$zyinli[2],604800);//阴历

        $data=cookie('orderid');//获取订单号
        if(empty($data)&&empty($_REQUEST['ordernum'])){
            if($edition==1)$editionStr='E';
            $orderid='YC41'.$editionStr.date('Ymd').mt_rand(100000,999999).date('His');
            cookie('orderid',$orderid,604800);
        }

        //创建订单
        $hour=cookie('zhour');if($hour=='')$hour=0;
        $shop=cookie('orderid');
        $znickname=cookie('znickname');if($znickname=='')$znickname='匿名';
        $zsex=cookie('zsex');if($zsex=='')$zsex=1;
        $channel=cookie('channel');
        $imei=cookie('uid');
        $y=mb_substr(cookie('zymd'),0,4);//年
        $m=mb_substr(cookie('zymd'),5,2); //月
        $d=mb_substr(cookie('zymd'),8,2);//日
        $datetype=cookie('datetype');if($datetype=='')$datetype=0;
        defaultPrice();
        channelPay($channel,'YC41');//查询渠道价格
        csPay($znickname,$channel);//测试价格判断

        $price=cookie('price');
        if(empty($_REQUEST['ordernum'])){
            $arrdata=S('sm_h5test|'.$shop);
            if(empty($arrdata)){
                $smH5testinter=array(
                    'ordernum'=>$shop, 'price'=>$price, 'username'=>$znickname, 'typeid'=>41, 'sex'=>$zsex, 'createtime'=>date('Y-m-d H:i:m'),
                    'status'=>-1, 'datetype'=>$datetype, 'year'=>$y, 'month'=>$m, 'day'=>$d, 'hour'=>$hour,
                    'appuserid'=>$imei, 'ip'=>$_SERVER['REMOTE_ADDR'], 'channel'=>$channel, 'auto_send_sms'=>0, 'place'=>0,
                );
                S('sm_h5test|'.$shop,$smH5testinter,2592000);//2592000为30天
                cacheZhiFuOrderid($shop);//支付页缓存订单操作

                $IndexController=A('Index');//Index控制器
                $IndexController->subNumber('YC41');//提交订单次数统计
            }else if(!cookie($_REQUEST['username'])){//返回操作
                //更新订单
                $arrdata['username']=$znickname;$arrdata['datetype']=$datetype;
                $arrdata['year']=$y;$arrdata['month']=$m;$arrdata['day']=$d;$arrdata['sex']=$zsex;
                S('sm_h5test|'.$shop,$arrdata,2592000);//2592000为30天
            }
        }

        if(cookie('zsex')==1){$zsex='男';}else{$zsex='女';}
        zwmp(cookie('zymd'), cookie('zhour'),$zsex,'sizhu');
        $sizhu=I('globals.sizhu');
        $this->assign('sizhu',$sizhu);//Z四柱
        $bztaisui=bztaisui2020($sizhu);//犯太岁
        $this->assign('bztaisui',$bztaisui);

//        if(changeJieguoPay($channel)){//判断渠道显示结果
//            $zhanxing=new \Library\ZhanXing();
//            $constellation=$zhanxing->constellation($m,$d);//获取星座
//            $lnyuncheng2019=lnyuncheng2019($zymd,I('globals.dayun'),I('globals.dayunss'),$constellation,$hour);
//            $this->assign('lnyuncheng2019',$lnyuncheng2019);//2019流年运程
//        }

        if($datetype==1){
            $this->assign('datetype',"农历 ".cookie('zyinli')." ".mb_substr($sizhu[3],1,1,'utf-8')."时");
        }else{
            $this->assign('datetype',"阳历 ".cookie('zyangli'));
        }

        $dianping=DYdianping($y+$m+$d);//大运点评
        $this->assign('dianping',$dianping);

        if (strpos($user_agent, 'MicroMessenger') == false) {
            //非微信浏览器访问
            if (strpos($user_agent, 'Windows') == true||strpos($user_agent,'Mac') == true) {
                //Windows 电脑访问
                if(channelSaoma($channel)){
                    $this->assign('pc',1);
                    $saomaUrl=wxsaoma('YC41','2020流年运程',cookie('orderid'));//微信扫码回调参数
                    $this->assign('wxsaoma',$saomaUrl);
                }
            }
        }else{
            $xml=wxgzhzf('YC41','流年运程',cookie('orderid'));//公众号支付回调参数
            $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
            $val = json_decode(json_encode($xmlstring),true);
            $noncestr=noncestr(15);//随机字符串
            $timestamp=time();//时间戳

            $stringA="appId=".cookie('APPID')."&nonceStr={$noncestr}&package=prepay_id={$val['prepay_id']}&signType=MD5&timeStamp={$timestamp}";
            $stringSignTemp=$stringA."&key=".cookie('wxKEY');
            $sign=strtoupper(md5($stringSignTemp));

            $this->assign('timeStamp',$timestamp);
            $this->assign('nonceStr',$noncestr);
            $this->assign('package','prepay_id='.$val['prepay_id']);
            $this->assign('signType','MD5');
            $this->assign('paySign',$sign);
            $this->assign('appId',cookie('APPID'));
        }

        $this->assign('csNameJump',U('Lnyc2020/jieguoye','',false).'?ordernum='.cookie('orderid'));//支付成功跳转地址
        $this->assign('channel',cookie('channel'));
        $this->assign('znickname',cookie('znickname'));

        if($edition==1){//新版本
            $this->display("Lnyc2020/lnyc_edition1_zhifu");
        }else if(channelYFlnyc2020($channel)){
            $this->display("Lnyc2020/lnyc_zhifu_YF");
        }elseif(channelVivo($channel)){
            $this->display("Lnyc2020/lnyc_zhifu_vivo");
        }else{
            $this->display("Lnyc2020/lnyc_zhifu");
        }
    }
    public function jieguoye(){
        cookie('orderidnum','Lnyc2020');
        jieguoInterface();//结果页公共函数
        $channel=cookie('channel');
        $this->assign('titleName',titleName('Lnyc2020',3));//首页名称
        $user_agent = $_SERVER['HTTP_USER_AGENT'];//用户使用的浏览器，操作系统等信息。
        if (strpos($user_agent, 'MicroMessenger') == false) {
            //非微信浏览器访问
            cookie('wxlogin',0);
        }else{
            cookie('wxlogin',1);
            $this->assign('wxlogin',1);

            $noncestr=noncestr(15);
            $timestamp=time();
            $ticket= S('ticket');
            $wzurl=wxJsdkData();
            $signature=sha1("jsapi_ticket={$ticket}&noncestr={$noncestr}&timestamp={$timestamp}&url={$wzurl}");

            $this->assign('appid',cookie('APPID'));
            $this->assign('timestamp',$timestamp);
            $this->assign('noncestr',$noncestr);
            $this->assign('signature',$signature);
        }

        if($_REQUEST['ordernum']){
            $ordernum=$_REQUEST['ordernum'];
            $this->editionUpdate($ordernum);
            $arrdata[0]=jieguoyeArrData($ordernum);
            $phone=$arrdata[0]['phone'];$this->assign('phone',$phone);
            $email=$arrdata[0]['email'];$this->assign('email',$email);
            //if($channel=='qudao100'){
            $this->assign('phonebindNum',1);//手机绑定弹窗
            $wzurl=wxJsdkData();
            $this->assign('jgOrderUrl',$wzurl);

//                $arrdata=S('sm_h5test|'.$ordernum);
//                $arrdata['phone']='';
//                S('sm_h5test|'.$ordernum,$arrdata,2592000);//2592000为30天
            //}

            $zymd=$arrdata[0]['year'].'-'.str_pad($arrdata[0]['month'],2,"0",STR_PAD_LEFT).'-'.str_pad($arrdata[0]['day'],2,'0',STR_PAD_LEFT);
            cookie('zymd',$zymd,604800);
            cookie('zhour',$arrdata[0]['hour'],604800);
            cookie('znickname',$arrdata[0]['username'],604800);
            cookie('zsex',$arrdata[0]['sex'],604800);
            $hour=$arrdata[0]['hour'];

            $y=mb_substr(cookie('zymd'),0,4);//年
            $m=mb_substr(cookie('zymd'),5,2); //月
            $d=mb_substr(cookie('zymd'),8,2);//日
            $zyinli=yinli($y,$m,$d);
            cookie('zyangli',$y.'年'.$m.'月'.$d.'日'.' '.cookie('zhour').'时',604800);//阳历
            cookie('zyinli',$zyinli[0].'年'.$zyinli[1].$zyinli[2],604800);//阴历

            cookie('orderid',$arrdata[0]['ordernum'],604800);
        }

        //一对一亲算下单
        $QSorder=new \Library\toolOrder();
        $wxzhifuArr=$QSorder->QSorderXD();
        if($wxzhifuArr==1){
            $this->assign('qsPay',1);
        }else{//更新数据hu
            if (strpos($user_agent, 'MicroMessenger') == false) {
                //非微信浏览器访问
            }else{
                $this->assign('timeStamp',$wxzhifuArr['timeStamp']);
                $this->assign('nonceStr',$wxzhifuArr['nonceStr']);
                $this->assign('package',$wxzhifuArr['package']);
                $this->assign('signType',$wxzhifuArr['signType']);
                $this->assign('paySign',$wxzhifuArr['paySign']);
                $this->assign('appId',$wxzhifuArr['appId']);
            }
        }

        if(cookie('zsex')==1){$zsex='男';
        }else{$zsex='女';}
        if($zymd!=''){
            zwmp($zymd,$hour,$zsex,'yc');
            $shengxiao=I('globals.shengxiao');
            $this->assign('shengxiao',$shengxiao);//生肖
            $this->assign('sizhu',I('globals.sizhu'));//Z四柱
            $ssarray=array();
            array_push($ssarray,implode(I('globals.nianzhuss')));
            array_push($ssarray,implode(I('globals.yuezhuss')));
            array_push($ssarray,implode(I('globals.shizhuss')));
            $this->assign('nianzhuss',$ssarray);//十神
            $this->assign('canggan',I('globals.canggan'));//藏干

            $this->assign('zhishen',I('globals.zhishen'));//支神
            $this->assign('sizhuny',I('globals.sizhuny'));//四柱纳音
            $this->assign('bzdishi',I('globals.bzdishi'));//八字地势
            $this->assign('wxsqs',I('globals.wxsqs'));//旺相休囚死
            $this->assign('xiys',I('globals.xiys'));//喜用神
            $this->assign('taiyuan',I('globals.taiyuan'));//胎元
            $this->assign('rikong',I('globals.rikong'));//日空
            $this->assign('dayun',I('globals.dayun'));//大运
            $this->assign('dayunx',I('globals.dayunx'));//大运x
            $this->assign('dayuny',I('globals.dayuny'));//大运y
            $this->assign('dayungz',I('globals.dayungz'));//大运干支
            $this->assign('dayunss',I('globals.dayunss'));//大运十神

            $jdxs2019=jdxs2019($zymd,$hour);//精打细算等等
            $this->assign('jdxs2019',$jdxs2019);
            
            $lnyc2020Data=new \Library\Lnyc2020Data();
            $data2020=$lnyc2020Data->index($zymd,$hour);
            $this->assign('data2020',$data2020);
            
            if(cookie('znickname')!='匿名'){
                $yibiart=yibiArt(cookie('znickname'),901);//一笔艺术签名
                $yibiartx=yibiArt(cookie('znickname'),905);//一笔商务签
                $yibiarty=yibiArt(cookie('znickname'),6);//签名字体
                $this->assign('yibiart',$yibiart);
                $this->assign('yibiartx',$yibiartx);
                $this->assign('yibiarty',$yibiarty);
                if($yibiarty){
                    $this->assign('qianming',1);
                }else{
                    $this->assign('qianming',0);
                }
            }
        }

        //商品文案
        $shopClerk_all=shop_clerk($shengxiao);
        $this->assign('shopClerk_all',$shopClerk_all);

        $this->assign('csName','YC41');
        $this->assign('channel',cookie('channel'));
        $this->assign('sex',cookie('zsex'));

        if(cookie('edition')==1){
            $this->display("Lnyc2020/lnyc_edition1_jieguoye");
        }else if(channelVivo($channel)){
            $this->display("Lnyc2020/lnyc_jieguoye_vivo");
        }else{
            $this->display("Lnyc2020/lnyc_jieguoye");
        }
    }
    public function  editionUpdate($ordernum){//版本状态更新
        $str2=substr($ordernum,0,2);
        $strE=substr($ordernum,4,1);
        if($str2=="YC"&&$strE=='E'){
            cookie('edition',1);
        }else{
            cookie('edition',null);
        }
    }
    public function pay(){//支付宝支付
        $orderid=cookie('orderid');
        $price=cookie('price');
        M()->query("update sm_h5test set price='{$price}' where ordernum='{$orderid}'");
        $edition=cookie('edition');
        if($edition==1){
            $ordername='下半年运程';
        }else{
            $ordername='流年运程';
        }
        $this->assign('ordername1',$ordername);
        $this->assign('ordername2',"知命-{$ordername}");
        $this->display("Index/pay");
    }
    public function paywx(){//H5微信支付
        $edition=cookie('edition');
        if($edition==1){
            $ordername='下半年运程';
        }else{
            $ordername='流年运程';
        }
        H5ZMwxzhifu('YC41',$ordername,cookie('orderid'),'Lnyc2020');//知命
    }
}